Semiconductor devices are generally manufactured by mounting multiple packages or devices onto a printed circuit board (PCB) substrate. In order to conduct heat from the individual semiconductor devices to a heat sink, the heat sinks generally need to be in contact with the individual packages. When a PCB or ASIC has packages of differing heights, the past solution has generally been to mount a heat sink onto the substrate in such a way that it is pressed down very tightly over some of the packages in order to ensure that the heat sink is in contact with all of the packages. This method has various disadvantages. For example, if the heat sink is mounted too tightly or with too much force onto the packages of greatest height measured from the substrate, in order to contact the packages with the lowest lowest height mounted on the same substrate, the force necessary to ensure the heat sink is contact with the lowest packages may result in crushing or otherwise damaging the packages of greatest height. Additionally, if the heat sink is mounted on the substrate such that the tallest packages are contacted, the shortest packages may not be in contact with the heat sink thus reducing the heat dissipation capabilities of the system.